package org.lemon.cla.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.lemon.cla.enums.ClubStatusEnum;
import org.lemon.cla.enums.UserRoleEnum; // 导入用户角色枚举 (如果需要显示创建人角色)

import java.time.LocalDateTime;

@Data
@Schema(description = "社团视图对象 (包含创建人信息)")
public class ClubVo {

    @Schema(description = "社团ID", example = "1")
    private Long clubId;

    @Schema(description = "社团名称", example = "编程社")
    private String clubName;

    @Schema(description = "Logo URL", example = "http://example.com/club_logo.png")
    private String logoUrl;

    @Schema(description = "描述", example = "专注于编程技术交流与项目开发")
    private String description;

    @Schema(description = "创建者ID", example = "101")
    private Long creatorId;

    // --- 创建人用户信息 ---
    @Schema(description = "创建者用户名", example = "admin_zhang")
    private String creatorUsername;

    @Schema(description = "创建者头像URL", example = "http://example.com/admin_avatar.png")
    private String creatorAvatarUrl;

    @Schema(description = "创建者真名", example = "张管理员")
    private String creatorRealName;

    @Schema(description = "创建者手机号", example = "13800138000")
    private String creatorPhone;

    @Schema(description = "创建者邮箱", example = "admin@example.com")
    private String creatorEmail;

    @Schema(description = "创建者角色", example = "管理员")
    private UserRoleEnum creatorRole; // 可以选择性地添加创建人角色

    @Schema(description = "创建者是否已逻辑删除 (如果为true，则以上创建者信息应显示为'未知')", example = "false")
    private Boolean creatorIsDeleted; // 新增字段：创建者是否已逻辑删除

    @Schema(description = "创建时间", example = "2024-06-22T10:00:00")
    private LocalDateTime createTime;

    @Schema(description = "社团状态", example = "待审核", allowableValues = {"待审核", "已批准", "已拒绝"})
    private ClubStatusEnum status;
}